1. Field of the Invention
The present invention relates to a cyclical redundancy check (CRC) coding system for a mobile data communication. More particularly, the invention relates to a CRC coding system for a mobile communication system with enhanced error detecting performance.
2. Description of the Related Art
In a high speed data transmission system in a digital car telephone system, a CRC coding method is employed. The conventional CRC coding method has been set forth in RCR STD-27D as a standard specification of a digital car telephone system defined by Research & Development Center for Radio Systems, Japan.
The CRC coding method set forth in RCR STD-27D has two kinds of CRC, i.e. CRC-16 and CRC-CCITT. In both CRC coding methods, information is input to a CRC encoder taking a most significant bit (MSB) of the data as a leading bit for adding CRC code from the MSB.
FIGS. 9 and 10 show a construction for realizing the conventional CRC coding system. On a transmission side, data is input to a CRC-16 encoder 210 from the MSB to add CRC-16 code and then to output to a CRC-CCITT encoder 220. Then, transmission data is transmitted from the CRC-CCITT encoder 220 with adding CRC-CCITT code.
On a reception side, received data is input to the CRC-CCITT encoder 220 from the MSB. When all data are zero (0), judgment is made that there is no error. On the other hand, data eliminated CRC-CCITT code and CRC-16 code are input to the CRC-16 encoder 210. If all data in the CRC-16 encoder 210 are zero (0), judgment is made that there is no error. Then, data eliminated CRC-16 code is taken as a received data.
Hereinafter, discussion will be given for conventional way of calculation of CRC-16 code.
Conventional procedure of calculation of CRC-16 code.
Respective bits to be transmitted are taken in sequential order from the MSB to be a191, a190, a189, . . . a2, a1, a0.
Respective bits derived by calculation are taken in sequential order from the MSB to be b191, b190, b189, . . . b2, b1, b0.
Respective bits of the CRC-16 thus derived are taken in sequential order from the MSB to be c15, c14, c13, . . . c2, c1, c0.
CRC-16 code can be derived through the following equation (1). ##EQU1##
where, P(X) is a polynominal expression derived from data to be transmitted, Q(X) is a polynominal expression of a solution, R(X) is a polynominal expression of CRC-16, and G(X) is a CRC-16 generating polynominal expression. PA1 where c15 to c0 are result of the foregoing calculation. PA1 where e15 is the MSB of CRC-CCITT. PA1 where P' (X) is a polynominal expression established from the received data, Q' (X) is a polynominal expression of the solutions, R' (X) is a polynominal expression of CRC-16 code, and G' (X) is a CRC-16 generating polynominal expression. PA1 inputting data to one of said CRC-16 encoder and said CRC-CCITT encoder in a sequential order from a least significant bit to a most significant bit, and inputting data to the other of said CRC-16 encoder and said CRC-CCITT encoder in sequential order from a most significant bit. PA1 In the CRC coding method, on a transmission side of data, the transmission comprises: PA1 sequence order reversing data input in a sequential order from the most significant bit to input data in a sequential order from the least significant bit to the CRC-16 encoder, PA1 sequence order reversing data from the CRC-16 encoder to input data in a sequential order from the most significant bit to the CRC-CCITT encoder, PA1 inputting a CRC-16 code generated by the CRC-16 encoder to said CRC-CCITT encoder without sequence order reversing, and PA1 outputting a CRC-CCITT code generated by the CRC-CCITT encoder to follow the data and the CRC-16 code, PA1 and wherein on a reception side of data, the reception comprises: PA1 inputting data input in a sequential order from the most significant bit, to the CRC-16 encoder, PA1 sequence order reversing data and CRC-16 code generated from the CRC-16 encoder and inputting said sequence order reversed CRC-16 code and data to the CRC-CCITT encoder in a sequential order from the least significant bit, and PA1 outputting the data and the CRC-16 code from the CRC-CCITT sequence order reversed and outputting a CRC-CCITT code generated from said CRC-CCITT encoder following the data and the CRC-16 code without sequence order reversing, PA1 and wherein on a reception side of data, the reception comprises: PA1 inputting data to one of said CRC-16 encoder and said CRC-CCITT encoder in sequential order from a most significant bit, and PA1 generating and adding a CRC code by one of the CRC-16 encoder and the CRC-CCITT encoder in a sequential order from the least significant bit to the most significant bit. PA1 inputting data in a sequential order from the most significant bit to the CRC-16 encoder, PA1 sequence order reversing CRC-16 code generated by the CRC-16 encoder and following data from the CRC-16 encoder and inputting said sequence order reversed CRC-16 code and data to the CRC-CCITT encoder, PA1 generating a CRC-CCITT code by the CRC-CCITT encoder and transmitting said CRC-CCITT code following the data and the CRC-16 code, PA1 and wherein on a reception side of data, the reception comprises: PA1 inputting data input in a sequential order from the most significant bit to the CRC-16 encoder, PA1 inputting data from the CRC-16 encoder and a CRC-16 code generated by the CRC-16 encoder to said CRC-CCITT encoder as is, PA1 sequence order reversing a CRC-CCITT code generated by the CRC-CCITT encoder following the data and the CRC-16 code, PA1 and wherein on a reception side of data, the reception comprises: PA1 a CRC-16 encoder; PA1 a CRC-CCITT encoder; PA1 a sequence order reversing portion that inputs data to one of the CRC-16 encoder and the CRC-CCITT encoder in a sequential order from the least significant bit to the most significant bit; and PA1 a transmission side circuit comprising: PA1 a reception side circuit comprising: PA1 first sequence order reversing portion that sequence order reverses data and a CRC-16 code from the CRC-16 encoder, and inputs said sequence order reversed data to the CRC-CCITT encoder in a sequential order from the least significant bit; and PA1 second sequence order reversing portion that sequence order reverses the data and the CRC-16 code other than a CRC-CCITT code generated by the CRC-CCITT encoder, and PA1 a reception side circuit comprising: PA1 a CRC-16 encoder; PA1 a CRC-CCITT encoder; PA1 a sequence order reversing portion that adds a CRC code generated by one of the CRC-16 encoder and the CRC-CCITT encoder in a sequential order from the least significant bit to the most significant bit; and PA1 another sequence order reversing portion that inputs data to one of said CRC-16 encoder and said CRC-CCITT encoder in a sequential order from the most significant bit. PA1 a transmission side circuit comprising: PA1 a reception side circuit comprising: PA1 a transmission side circuit comprising: PA1 a reception side circuit comprising: PA1 inputting data to one of the CRC-16 encoder and the CRC-CCITT encoder in a sequential order from the least significant bit to the most significant bit, and PA1 inputting data to the other of said CRC-16 encoder and said CRC-CCITT encoder in sequential order from a most significant bit.
From this, c15 to c0 can be derived by deriving b191 to b0 in sequential order from the following equation (2). It should be noted that calculation of a191 to a0, b191 to b0 and c15 to c0 are all mod2 (0+0=1+1=0, 0+1=0-1=1). ##EQU2##
Accordingly, respective bits to be transmitted are expressed on the basis of the MSB by the following equation (3). EQU a.sub.191,a.sub.190,a.sub.189, . . . a.sub.2,a.sub.1,a.sub.0,c.sub.15,c.sub.14,c.sub.13, . . . , c.sub.2,c.sub.1,c.sub.0 (3)
In general, upon reception of data, due to external disturbance or so forth in the transmission zone, it is possible to cause the leading bit to drop out, or addition of extra bit.
In such case, in the conventional CRC coding method, data is received in a condition where the data appears bit shifted from the original data to make that no error is judged upon checking of code error, high. The reason is that shift registers are employed as encoders in CRC-16 and CRC-CCITT.
As one example, the conventional calculation method of CRC-16 code when bit shift in data generated by the CRC-16 encoder by drop out of the leading bit on the reception side, will be discussed hereinafter.
Conventional Calculation of CRC-16 code upon Occurrence of Drop out of One bit
When the data transmitted through conventional CRC-16 calculation causes drop out of the first one bit, the reception data on the reception side lacks a191 and thus can be expressed by the following expression (4) on the basis of the MSB. EQU a.sub.190,a.sub.189,a.sub.188, . . . ,a.sub.1, a.sub.0,c.sub.15,c.sub.14,c.sub.13,c.sub.12, . . . ,c.sub.1,c.sub.0,e.sub.15 (4)
The foregoing expression (4) is then adapted to the equation for deriving CRC-16. It is assumed that solutions derived through calculation are b'191, b'190, b'189, . . . , b'2, b'1, b'0 in sequential order from the MSB, and respective bits of the CRC-16 code derived are c'15, c'14, c'13, . . . , c'2, c'1 in sequential order from the MSB. Thus, the following equation (5) is established. ##EQU3##
When the following expression (6) is satisfied, recognition is made on the reception side that data is correct. EQU c'.sub.15 =c.sub.14,c'.sub.14 =c.sub.13,c'.sub.13 =c.sub.12, . . . , c'.sub.2 =c.sub.1,c'.sub.1 =c.sub.0,c'.sub.0 =e.sub.15 (6)
When calculation is performed and the result of the conventional CRC-16 calculation method is added, and considering that a191=0, a result as expressed by the following equation (7) can be obtained.
Here, it should be noted that the reason why it is assumed that a191=0 is given, is that the condition that a191=0 is an essential condition since distinct cases where a191 is added to respective bits of the solutions and respective bits of the CRC-16 code, and where a191 is not added to respective bits. ##EQU4##
Namely, in the case where a191 and e15 are zero, even when drop out of the leading one bit is caused, recognition that the data is correct can be made on the reception side.
Thus, in such a conventional CRC coding method, when a bit shift is caused in the reception data, error detection performance becomes low.